Technical Field
The present disclosure relates to server/network systems, and more specifically to deep packet inspection (dpi) of network packets for keywords of a vocabulary.
Related Art
Network packets form the basis for communication between various systems connected by networks. For example, a source system may send a packet in accordance with Internet Protocol (IP) to a destination system on a network supporting IP connectivity.
Network packets are often inspected in various stages of the processing of the network packets. For example, an IP router may examine the header of an IP packet to determine the specific direction/interface on which to forward the packet. As is well known in the relevant arts, the fields in IP header are located in pre-specified bit positions, and thus the inspection may entail examination of bits at such pre-specified positions.
Deeper portions of network packets are often encoded using keywords and potentially associated data values. For example, the content beyond the TCP (Transmission Control Protocol)/IP headers is viewed as a deeper portion, and may accordingly be specified based on keywords. Each keyword has a pre-specified meaning/purpose defined by a vocabulary, and is in the form of a string of characters. HTTP (Hypertext Transfer Protocol) provides an example vocabulary for serving of web pages on networks.
Deep packet inspection (DPI) refers to examination of such deeper portions of the packets. As the bit positions of the various keywords and/or data values are not pre-specified (beyond a general definition of a range of bit positions the keywords/values can potentially exist), DPI presents challenges particularly when the processing is required to be performed with limited resources (time, memory, etc.).
Aspects of the present disclosure address some of such challenges/requirements to DPI of network packets for keywords of a vocabulary, as described below with examples.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.